package org.my.spring.agent.mcp.core.domain.dto;

import com.alibaba.fastjson2.JSONObject;

import java.util.List;

/**
 * 意图识别结果DTO
 * 封装大模型意图识别后的结构化输出，包含用户信息、输入内容、意图类型、回答及执行步骤
 *
 * @param userId 用户唯一标识
 * @param input 用户原始输入内容
 * @param type 意图类型标识
 * @param answer 大模型直接回答内容(若无需工具调用)
 * @param steps 工具调用执行步骤列表
 */
public record IntentResult(String userId, String input, String type, String answer, List<Step> steps) {
    /**
     * 执行步骤DTO
     * 表示意图执行过程中的单个步骤信息
     *
     * @param stepId 步骤唯一标识
     * @param description 步骤描述信息
     * @param command 步骤对应的工具调用命令
     */
    public record Step(String stepId, String description, Command command) {
    }

    /**
     * 工具调用命令DTO
     * 封装单个工具调用的具体参数
     *
     * @param action 操作类型(如navigate, clickElement等)
     * @param url 目标URL地址(用于导航操作)
     * @param inputId 页面元素ID(用于定位元素)
     * @param inputName 页面元素名称(用于定位元素)
     * @param inputValue 输入值(用于文本输入操作)
     */
    public record Command(String action, String url, String inputId, String inputName, String inputValue) {
    }
}
